package com.pn.service;

import com.pn.entity.Pet;
import com.pn.util.PageCriterion;
import com.pn.util.ResponseMsg;

import java.util.List;

public interface PetService {

    /**
     * 分页查询宠物
     * @param pageCriterion 分页信息
     * @param sellStatus 查询的宠物的上架状态 0 查询全部 1 查询可以被领养的 2 查询已经被领养的
     * @return
     */
    List<Pet> listByPage (PageCriterion pageCriterion,Integer sellStatus);

    /**
     * 分页查询当前用户分享的宠物信息
     * @param pageCriterion
     * @param uid
     * @return
     */
    List<Pet> listByUidByPage(PageCriterion pageCriterion,Integer uid);

    /**
     * 分页模糊查询宠物
     * @param pageCriterion 分页信息
     * @param searchKey 查询的关键词
     * @return
     */
    List<Pet> listFuzzyByPage (PageCriterion pageCriterion,String searchKey);

    /**
     * 插入一个新的宠物信息
     * @param pet
     * @return
     */
    ResponseMsg insert (Pet pet);

    /**
     * 根据pid获取宠物信息
     * @param pid
     * @return
     */
    Pet getById (Integer pid);

    /**
     * 根据宠物种类获取相关的宠物信息
     * @param pageCriterion
     * @param ptid
     * @return
     */
    List<Pet> listByPtidByPage(PageCriterion pageCriterion, Integer ptid);
}
